﻿using ETModel;

namespace ETHotfix
{
	[ObjectSystem]
	public class NetOuterWComponentAwakeSystem : AwakeSystem<NetOuterWComponent>
	{
		public override void Awake(NetOuterWComponent self)
		{
			self.Awake(self.Protocol);
			self.MessagePacker = new ProtobufPacker();
			self.MessageDispatcher = new OuterMessageDispatcher();

        }
	}

	[ObjectSystem]
	public class NetOuterWComponentAwake1System : AwakeSystem<NetOuterWComponent, string>
	{
		public override void Awake(NetOuterWComponent self, string address)
		{
			self.Awake(self.Protocol, address);
			self.MessagePacker = new ProtobufPacker();
			self.MessageDispatcher = new OuterMessageDispatcher();
		}
	}
	
	[ObjectSystem]
	public class NetOuterWComponentLoadSystem : LoadSystem<NetOuterWComponent>
	{
		public override void Load(NetOuterWComponent self)
		{
			self.MessagePacker = new ProtobufPacker();
			self.MessageDispatcher = new OuterMessageDispatcher();
		}
	}
	
	[ObjectSystem]
	public class NetOuterWComponentUpdateSystem : UpdateSystem<NetOuterWComponent>
	{
		public override void Update(NetOuterWComponent self)
		{
			self.Update();
		}
	}
}